// miniprogram/pages/me_dt/puber_modify/puber_modify.js
const db = wx.cloud.database();
const _ = db.command;
var app = getApp();
Page({

  /**
   * 页面的初始数据
   */
  data: {
    user: {},
    // 上传头像
    upload_pic: "", //本地照片的路径
    user_photo: "", //用户旧照片的路径
    // 基本信息
    name: "",
    position: "",
    position_list: ["主任医师", "副主任医师", "主治医师", "轮转医师", "住院医师"], //存放职位列表
    show: false, //是否展示弹出框，初始时不显示
    bool_modify: false
  },
  //判断是否更改了信息
  bool_modify() {
    if (((this.data.name != this.data.user.user_name) && (this.data.name != '')) || (this.data.position != this.data.user.user_position)) {
      this.setData({
        bool_modify: true
      })
    } else {
      this.setData({
        bool_modify: false
      })
    }
  },

  setName(res) {
    this.setData({
      name: res.detail
    })
    this.bool_modify()
  },

  // 点击职位框，展示弹出框
  showPopup() {
    this.setData({
      show: true
    });
  },
  // 点击确定，隐藏弹出框并赋值职位信息
  onConfirm(res) {
    this.setData({
      position: res.detail.value,
      show: false
    })
    this.bool_modify()
  },
  // 点击取消，隐藏弹出框
  onCancel(res) {
    this.setData({
      show: false
    })
  },

  //上传图片步骤：本地选择图片——跳转到photo_modify页面进行处理并上传——若上传成功则更新头像(onshow即可)
  uploadPhoto() {
    var that = this
    // 从本地选择照片
    wx.chooseImage({
      count: 1,
      success: function (res) {
        var that2 = that
        // 将本地图片路径保存到upload_pic
        that.setData({
          upload_pic: res.tempFilePaths[0]
        })
        // 跳转页面对图片进行裁剪
        var str = "../photo_modify/photo_modify?pic=" + that.data.upload_pic
        wx.navigateTo({
          url: str,
        })
      }
    })
  },

  // 点击确定：提交个人信息
  submit() {
    wx.showLoading({
      title: '上传中',
    })

    // 将新数据上传云端
    db.collection('user').doc(this.data.user._id).update({
      data: {
        user_name: this.data.name,
        user_position: this.data.position,
      }
    }).then(res => {
      wx.hideLoading()
      // 上传成功：返回上一层并显示修改成功
      if (res.errMsg.match(/:ok$/).length != 0) {
        wx.navigateBack({
          delta: -1,
          success: function (res) {
            wx.showToast({
              title: '修改成功',
              icon: 'success'
            })
          }
        })
      }else{
        wx.navigateBack({
          delta: -1,
          success: function (res) {
            wx.showToast({
              title: '修改失败',
              icon: 'none'
            })
          }
        })
      }
    })
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
    // 进入页面显示加载
    wx.showLoading({
      title: '加载中',
    })
    // 获取用户_openid: app.globalData.open_id必须等待一段时间，不能直接编译该页面
    //获取用户信息，并存入user
    db.collection("user").where({
        _openid: app.globalData.open_id
      }).get()
      .then(res => {
        this.setData({
          user: res.data[0]
        })
        // 初始化data_modify，使其值为原user信息
        this.setData({
          name: this.data.user.user_name,
          position: this.data.user.user_position,
        })
        wx.hideLoading()
      })
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})